package algorithm;

/**
 * 编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀，则返回""
 * @author rongkai
 * @description:
 * @date 2021/3/5
 */
public class Solution2 {
    public static void main(String[] args) {
        String[] strings = new String[]{"c","acc","ccc"};
        System.out.println(solution(strings));
    }


    /**
     * 解题思路:选择一个字符串作为基准，用indexOf检测这个字符串在其他串的匹配结果，不匹配则删除基准的最后一位，直到找到为止
     * @param strs
     * @return
     */
    public static String solution(String[] strs){
        if (strs.length == 0 ){
            return "";
        }
        String base = strs[0];
        while(base.length() > 0){
            boolean check = true;
            for (String item : strs) {
                if (item.indexOf(base) != 0){
                    check = false;
                }
            }
            if (check){
                break;
            }
            if (base.length()!=1){
                base = base.substring(0,base.length()-1);
            }else {
                base = "";
                break;
            }

        }
        return base;
    }
}
